____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Mod python
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
mod_python ist ein Modul fΓΌr den Apache-HTTP-Server, das die Programmiersprache Python in den Webserver einbindet. Ziel war die AblΓΆsung des βCommon Gateway Interfaceβ (CGI) zur AusfΓΌhrung von Python-Skripten. Vorteil ist hauptsΓ€chlich die schnellere AusfΓΌhrung.
Eine konzeptionelle Weiterentwicklung von mod_python ist mod_wsgi.
Ein anderes Verfahren, um CGI zu beschleunigen, ist βFastCGIβ.
Contents
β’ Funktionsweise
β’ Vorteile
β’ Nachteile
β’ Geschichte
β’ Weblinks
β’ Einzelnachweise
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Funktionsweise
Bei CGI-Programmen wird pro Anfrage ein neuer Prozess auf dem Server gestartet, der den Interpreter der Sprache aufruft, welcher seinerseits das gewΓΌnschte Script interpretiert und dann ausfΓΌhrt. Auf Seiten mit vielen Besuchern pro Zeitspanne ist dieses Verfahren nicht ausreichend schnell.
Daher wird mit βmod_pythonβ β und vergleichbaren Modulen fΓΌr andere Programmiersprachen β die Sprache direkt in den Webserver eingebettet, der Interpreter lΓ€uft die ganze Zeit.
Vorteile
β’ Der Zeitaufwand fΓΌr das Starten des Interpreters entfΓ€llt.
β’ Da der Prozess nach der Bearbeitung einer Anfrage eines Clients nicht beendet wird, kΓΆnnen dauerhafte Daten β wie z. B. Datenbankverbindungen β fΓΌr nachfolgende Anfragen aufgehoben und mΓΌssen nicht bei jeder Nachfrage neu initialisiert werden.
β’ Da βmod_pythonβ-Module direkt in den Webserver integriert sind, kann mit ihnen alles erledigt werden, was sonst in der komplexer zu programmierenden Sprache C geschriebene Module erledigen: Implementierung anderer Protokolle als HTTP, Filterung der Anfrage und der Antwort, Ermittlung des Datenformats usw.
Nachteile
β’ Die Startkonfiguration ist bis heute etwas komplizierter zu bewerkstelligen als die Verwendung der in der Regel weitestgehend vorkonfigurierten CGI-Alternative.
β’ Da die Skripte direkt im Server eingebettet sind, werden sie mit den weitreichenderen Rechten des Serverprozesses ausgefΓΌhrt. Um keine SicherheitslΓΌcken herbeizufΓΌhren, muss der Administrator also den Server richtig konfigurieren (das betrifft alle Programmiersprachen, die direkt im Webserver eingebettet sind, und hat nichts mit Python zu tun).
Geschichte
Die erste Version von βmod_pythonβ wurde im Jahr 2000 von Gregory Trubetskoy freigegeben. Seit 2002 ist βmod_pythonβ ein offizielles Projekt der Apache Software Foundation. Zwischen 2007 und 2013 ruhte die Entwicklung, allerdings wurde am 13. November 2013 die neue Version 3.5.0 verΓΆffentlichtcite-ref-modpython-org-1-0[1], die erstmals Python 3 verwendet.
Weblinks
β’ Offizielle mod_python-Website
β’ TurboGears Framework fΓΌr die Webentwicklung, das mod_python verwenden kann
β’ Spyce Python Server Pages Implementierung
β’ Tutorial
Einzelnachweise